
package com.example.hjlquickstartdemo.utils;


import com.example.hjlquickstartdemo.pojo.vo.ResultResponse;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;

/**
 * 应用程序相关的工具方法定义在这里，例如版本获取，全部应答报文设置等
 * @author HeJiaLe
 * @date 2023/07/17 11:39
 */


@Component
public class AppUtils {

    private AppUtils() {
        // prevent construct
    }

    /**
     * 从配置文件获取后端的程序版本
     */
    @Value("${app.version}")
    private String version;
    /**
     * 存储后端程序版本
     */
    private static String myVersion;

    @PostConstruct
    public void init() {
        AppUtils.myVersion = version;
    }

    /**
     *  对统一应答设置版本
     * @param ResultResponse 统一应答
     * @param <T>
     */
    public static <T> void setResponseExtendInfo(ResultResponse<T> ResultResponse) {
        ResultResponse.getHead().setVersion(myVersion);
    }
}
